package cl.ccs.migracionbcmc.dao;


import cl.ccs.migracionbcmc.model.Client;
import cl.ccs.migracionbcmc.model.Mensaje;

import java.util.Date;
import java.util.List;


public interface PortalClientesDao {

    Mensaje inscripcionClientes(String rut, Date birthDate, String gender, Integer civilStatus, String names,
                            String firstLastName, String secondLastName, Integer educationalLevel,
                            String streetAddress, Integer commune, String city, String phone, String mobilePhone,
                            String activity, String email, String usuario, Integer ccosto);
    
    Client buscaNombreCliente(String rut);
    
    Mensaje generaClave(Long nroCliente, Integer  ccosto, String usuarioModif);
    
    Client obtenerDatosCliente(Long nroCliente);
    
    List<Client> buscaClientes(String rut, Date fecDesde, Date fecHasta, Long nroCliente, Integer codEstado);
    
    Mensaje modificaDatosCliente(Long nroCliente, String rut, String names, String firstLastName, String secondLastName,
                            Date birthDate, String gender, Integer civilStatus, Integer educationalLevel,
                            String streetAddress, Integer commune, String city, String phone, String mobilePhone,
                            String activity, String email, String usuarioMod, String causalBlqAnul);
    
    Mensaje bloqueaDesBlqCliente(Long nroCliente, String causalBlqAnul, String usuarioModif);
    
    Mensaje anulaCliente(Long nroCliente, String causalBlqAnul, String usuarioModif);
    
    Client recuperarClave(Long nroCliente, String usuarioModif);
    
    Mensaje validarCliente(Long nroCliente, String usuarioModif);
    
    List<Client> infClavesEntregadas(Date fecDesde, Date fecHasta, String usuario);
    
    List<Client> detalleTransDiarias(Date fecDesde, Date fecHasta, Integer ccosto);
    
    List<Client> resumenTransDiarias(Date fecDesde, Date fecHasta, Integer ccosto);
}
